<?php
    date_default_timezone_set("Asia/Shanghai");

    //返回文件名
    //echo basename($path);

    //返回路径
    //echo dirname($path);

    //获取路径文件的信息

    //print_r( pathinfo($path));

    //转换绝对路径
    //echo realpath("dir_file.php");

    //取得文件大小
    //echo round(filesize("dir_file.php")/1024,2)."kb";

    //计算磁盘可用空间
    //echo round(disk_free_space("c:")/1024/1024/1024,2)."G";

    //计算磁盘的总空间
    //echo round(disk_total_space("c:")/1024/1024/1024,2)."G";

    //确定文件的最后访问时间
    //echo date("Y-m-d H:i:s",fileatime("D:\web\gulpfile.js"));

    //确定文件的最后文件内容修改时间
    //echo date("Y-m-d H:i:s",filemtime($a));


    //=============================================================================


    /**
     ** fopen($filename,'a') (返回资源类型句柄 )
     ** @w 只写(删除文件内容,如果不存在则创建)
     ** @a 追加(将文件指针指向文件末尾)
     ** @r 只读(将文件指针指向文件头)
     **/

    /**
     ** fwrite($fp,$str,5) (把str的内容写入文件指针file处)
     ** 返回写入的字符数
     ** 当写入了length个字节停止
     **/

    //$str = "this is first say\r\n";
    //$filename = './library/file.txt';
    function a5(){
        $str = "this is first say\r\n";
        $filename = './library/file.txt';
        $word = "你好！n1";
        // 确定文件存在并且可写
        if (is_writable($filename)) {
            //打开文件
            if (!$fh = fopen($filename, 'a')) {
                 echo "不能打开文件 $filename";
                 exit;
            }
            // 写入内容
            if (fwrite($fh, $word) === FALSE) {
                echo "不能写入到文件 $filename";
                exit;
            }
            echo "成功地将 $word 写入到文件 $filename";
            fclose($fh);
        } else {
            echo "文件 $filename 不可写";
        }
    }
    //a5();


    /**
     ## readfile() (函数读取一个文件，并写入到输出缓冲 返回字节)
     ## fopen(之后的读取操作)
     ** fgetc($file) (读出一个字符并移动指针到下一个字符)
     ** fgets (读出一行)
     ** fread($file,"10") (规定要读取的最大字节数。)
     ** fpassthru(指针后所有字符 返回总长度)
     **/
    function a6(){
        //readfile($filename);
        //exit();
        if (is_writable($filename)) {
            $file = fopen($filename,"r");
            while (!feof($file)){
                echo fgets($file);
            }
           fclose($file);
        } else {
            echo "文件 $filename 不可写";
        }
    }
    //a6();


    //file(读取文件每行来分别存放一个数组)
    function a7(){
        //global $filename;
        print_r(file($GLOBALS['filename']));
    }
    //a7();

    //file_get_contents(可以将整个文件全部读取到一个字符串中)
    function a8(){
        $content = file_get_contents($GLOBALS['filename'],null,null,0,500);
        print_r($content);
    }
    //a8();

    //file_put_contents(写入文件);
    function a9(){
        file_put_contents('file.txt','hahahaha','FILE_APPEND');
    }

    /**
     ** 关于指针和其他方法
     **/
    //feof是否指针到达了文件结尾
    //file_exists文件是否存在
    //is_writable文件是否存在并可写入
    //unlink删除一个文件
    //rewind回到指针位置不返回
    //fseek指针定位
    //ftell指针当前位置
    //fclose($fp);关闭资源句柄


    //===========================================================================

    // 打开目录,列出所有文件
    function a10(){
        $dir = "./library";
        //readdir() 函数返回目录中下一个文件的文件名。
        if (is_dir($dir)){
            if ($dh = opendir($dir)){
                while (($file = readdir($dh)) !== false){
                  echo "filename:" . $file . "<br>";
                }
                closedir($dh);
            }
        }
    }
    //a10();

    function a11(){
        $dir = "./library";
        print_r(scandir($dir));
    }
    //a11();

    //删除目录相对和绝对路径都是可以 rmdir
    //unlink('file1.txt');

    //closedir($dir);

?>


















